﻿
namespace Bettzueche.RLGlue.TaskSpec {

    /// <summary>
    /// 
    /// </summary>
    public interface ITaskSpecSerializer {

        /// <summary>
        /// Serializes the specified task spec object.
        /// </summary>
        /// <param name="taskSpecObject">The task spec object.</param>
        /// <returns>The Task Spec String</returns>
        string Serialize(ITaskSpec taskSpecObject);

        /// <summary>
        /// Deserializes the specified task spec string.
        /// </summary>
        /// <param name="taskSpecString">The task spec string.</param>
        /// <returns>The corresponding TaskSpec instance.</returns>
        ITaskSpec Deserialize(string taskSpecString);

    }
}
